Skip to content

chore(deps): update helm release cloudnative-pg to v0.28.2 - #1601

Merged
renovate[bot] merged 1 commit into
mainfrom
renovate/cloudnative-pg-0.x
May 19, 2026
Merged

chore(deps): update helm release cloudnative-pg to v0.28.2#1601
renovate[bot] merged 1 commit into
mainfrom
renovate/cloudnative-pg-0.x

Conversation

@renovate

@renovate renovate Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Update Change
cloudnative-pg (source) patch 0.28.00.28.2

Release Notes

cloudnative-pg/charts (cloudnative-pg)

v0.28.2

Compare Source

CloudNativePG Operator Helm Chart

What's Changed

Full Changelog: cloudnative-pg/charts@cloudnative-pg-v0.28.1...cloudnative-pg-v0.28.2

v0.28.1

Compare Source

CloudNativePG Operator Helm Chart

What's Changed
New Contributors

Full Changelog: cloudnative-pg/charts@plugin-barman-cloud-v0.6.0...cloudnative-pg-v0.28.1


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "before 9am on tuesday"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from a team as a code owner May 19, 2026 00:24
@renovate
renovate Bot enabled auto-merge (squash) May 19, 2026 00:24
@github-actions

Copy link
Copy Markdown
--- kubernetes/apps/infrastructure/operators/cloudnative-pg/app Kustomization: flux-system/database-cloudnative-pg HelmRelease: operators/cloudnative-pg

+++ kubernetes/apps/infrastructure/operators/cloudnative-pg/app Kustomization: flux-system/database-cloudnative-pg HelmRelease: operators/cloudnative-pg

@@ -12,13 +12,13 @@

     spec:
       chart: cloudnative-pg
       sourceRef:
         kind: HelmRepository
         name: cnpg
         namespace: flux-system
-      version: 0.28.0
+      version: 0.28.2
   install:
     createNamespace: true
     remediation:
       retries: 3
   interval: 15m
   maxHistory: 3

@github-actions

Copy link
Copy Markdown
--- HelmRelease: operators/cloudnative-pg ConfigMap: operators/cnpg-default-monitoring

+++ HelmRelease: operators/cloudnative-pg ConfigMap: operators/cnpg-default-monitoring

@@ -28,17 +28,17 @@

           ) AS states(state)
         LEFT JOIN (
           SELECT datname
             , state
             , usename
             , COALESCE(application_name, '') AS application_name
-            , COUNT(*)
-            , COALESCE(EXTRACT (EPOCH FROM (max(now() - xact_start))), 0) AS max_tx_secs
+            , pg_catalog.count(*)
+            , COALESCE(EXTRACT (EPOCH FROM (pg_catalog.max(pg_catalog.now() OPERATOR(pg_catalog.-) xact_start))), 0) AS max_tx_secs
           FROM pg_catalog.pg_stat_activity
           GROUP BY datname, state, usename, application_name
-        ) sa ON states.state = sa.state
+        ) sa ON states.state OPERATOR(pg_catalog.=) sa.state
         WHERE sa.usename IS NOT NULL
       metrics:
         - datname:
             usage: "LABEL"
             description: "Name of the database"
         - usename:
@@ -56,27 +56,27 @@

         - max_tx_duration_seconds:
             usage: "GAUGE"
             description: "Maximum duration of a transaction in seconds"
 
     backends_waiting:
       query: |
-        SELECT count(*) AS total
+        SELECT pg_catalog.count(*) AS total
         FROM pg_catalog.pg_locks blocked_locks
         JOIN pg_catalog.pg_locks blocking_locks
-          ON blocking_locks.locktype = blocked_locks.locktype
+          ON blocking_locks.locktype OPERATOR(pg_catalog.=) blocked_locks.locktype
           AND blocking_locks.database IS NOT DISTINCT FROM blocked_locks.database
           AND blocking_locks.relation IS NOT DISTINCT FROM blocked_locks.relation
           AND blocking_locks.page IS NOT DISTINCT FROM blocked_locks.page
           AND blocking_locks.tuple IS NOT DISTINCT FROM blocked_locks.tuple
           AND blocking_locks.virtualxid IS NOT DISTINCT FROM blocked_locks.virtualxid
           AND blocking_locks.transactionid IS NOT DISTINCT FROM blocked_locks.transactionid
           AND blocking_locks.classid IS NOT DISTINCT FROM blocked_locks.classid
           AND blocking_locks.objid IS NOT DISTINCT FROM blocked_locks.objid
           AND blocking_locks.objsubid IS NOT DISTINCT FROM blocked_locks.objsubid
-          AND blocking_locks.pid != blocked_locks.pid
-        JOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid = blocking_locks.pid
+          AND blocking_locks.pid OPERATOR(pg_catalog.<>) blocked_locks.pid
+        JOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid OPERATOR(pg_catalog.=) blocking_locks.pid
         WHERE NOT blocked_locks.granted
       metrics:
         - total:
             usage: "GAUGE"
             description: "Total number of backends that are currently waiting on other queries"
 
@@ -112,20 +112,20 @@

             description: "Time at which postgres started (based on epoch)"
 
     pg_replication:
       query: |
         SELECT CASE WHEN (
             NOT pg_catalog.pg_is_in_recovery()
-            OR pg_catalog.pg_last_wal_receive_lsn() = pg_catalog.pg_last_wal_replay_lsn())
+            OR pg_catalog.pg_last_wal_receive_lsn() OPERATOR(pg_catalog.=) pg_catalog.pg_last_wal_replay_lsn())
           THEN 0
           ELSE GREATEST (0,
-            EXTRACT(EPOCH FROM (now() - pg_catalog.pg_last_xact_replay_timestamp())))
+            EXTRACT(EPOCH FROM (pg_catalog.now() OPERATOR(pg_catalog.-) pg_catalog.pg_last_xact_replay_timestamp())))
           END AS lag,
           pg_catalog.pg_is_in_recovery() AS in_recovery,
-          EXISTS (TABLE pg_stat_wal_receiver) AS is_wal_receiver_up,
-          (SELECT count(*) FROM pg_catalog.pg_stat_replication) AS streaming_replicas
+          EXISTS (TABLE pg_catalog.pg_stat_wal_receiver) AS is_wal_receiver_up,
+          (SELECT pg_catalog.count(*) FROM pg_catalog.pg_stat_replication) AS streaming_replicas
       metrics:
         - lag:
             usage: "GAUGE"
             description: "Replication lag behind primary in seconds"
         - in_recovery:
             usage: "GAUGE"
@@ -167,23 +167,23 @@

             description: "Replication lag in bytes"
 
     pg_stat_archiver:
       query: |
         SELECT archived_count
           , failed_count
-          , COALESCE(EXTRACT(EPOCH FROM (now() - last_archived_time)), -1) AS seconds_since_last_archival
-          , COALESCE(EXTRACT(EPOCH FROM (now() - last_failed_time)), -1) AS seconds_since_last_failure
+          , COALESCE(EXTRACT(EPOCH FROM (pg_catalog.now() OPERATOR(pg_catalog.-) last_archived_time)), -1) AS seconds_since_last_archival
+          , COALESCE(EXTRACT(EPOCH FROM (pg_catalog.now() OPERATOR(pg_catalog.-) last_failed_time)), -1) AS seconds_since_last_failure
           , COALESCE(EXTRACT(EPOCH FROM last_archived_time), -1) AS last_archived_time
           , COALESCE(EXTRACT(EPOCH FROM last_failed_time), -1) AS last_failed_time
-          , COALESCE(CAST(CAST('x'||pg_catalog.right(pg_catalog.split_part(last_archived_wal, '.', 1), 16) AS pg_catalog.bit(64)) AS pg_catalog.int8), -1) AS last_archived_wal_start_lsn
-          , COALESCE(CAST(CAST('x'||pg_catalog.right(pg_catalog.split_part(last_failed_wal, '.', 1), 16) AS pg_catalog.bit(64)) AS pg_catalog.int8), -1) AS last_failed_wal_start_lsn
+          , COALESCE(CAST(CAST('x' OPERATOR(pg_catalog.||) pg_catalog.right(pg_catalog.split_part(last_archived_wal, '.', 1), 16) AS pg_catalog.bit(64)) AS pg_catalog.int8), -1) AS last_archived_wal_start_lsn
+          , COALESCE(CAST(CAST('x' OPERATOR(pg_catalog.||) pg_catalog.right(pg_catalog.split_part(last_failed_wal, '.', 1), 16) AS pg_catalog.bit(64)) AS pg_catalog.int8), -1) AS last_failed_wal_start_lsn
           , EXTRACT(EPOCH FROM stats_reset) AS stats_reset_time
         FROM pg_catalog.pg_stat_archiver
       predicate_query: |
         SELECT NOT pg_catalog.pg_is_in_recovery()
-          OR pg_catalog.current_setting('archive_mode') = 'always'
+          OR pg_catalog.current_setting('archive_mode') OPERATOR(pg_catalog.=) 'always'
       metrics:
         - archived_count:
             usage: "COUNTER"
             description: "Number of WAL files that have been successfully archived"
         - failed_count:
             usage: "COUNTER"
@@ -463,18 +463,18 @@

             usage: "GAUGE"
             description: "Setting value"
 
     pg_extensions:
       query: |
         SELECT
-          current_database() as datname,
+          pg_catalog.current_database() as datname,
           name as extname,
           default_version,
           installed_version,
           CASE
-            WHEN default_version = installed_version THEN 0
+            WHEN default_version OPERATOR(pg_catalog.=) installed_version THEN 0
             ELSE 1
         END AS update_available
         FROM pg_catalog.pg_available_extensions
         WHERE installed_version IS NOT NULL
       metrics:
         - datname:
--- HelmRelease: operators/cloudnative-pg CustomResourceDefinition: operators/clusters.postgresql.cnpg.io

+++ HelmRelease: operators/cloudnative-pg CustomResourceDefinition: operators/clusters.postgresql.cnpg.io

@@ -5710,13 +5710,12 @@

                     type: boolean
                   procMount:
                     description: |-
                       procMount denotes the type of proc mount to use for the containers.
                       The default value is Default which uses the container runtime defaults for
                       readonly paths and masked paths.
-                      This requires the ProcMountType feature flag to be enabled.
                       Note that this field cannot be set when spec.os.name is windows.
                     type: string
                   readOnlyRootFilesystem:
                     description: |-
                       Whether this container has a read-only root filesystem.
                       Default is false.
--- HelmRelease: operators/cloudnative-pg CustomResourceDefinition: operators/poolers.postgresql.cnpg.io

+++ HelmRelease: operators/cloudnative-pg CustomResourceDefinition: operators/poolers.postgresql.cnpg.io

@@ -2875,13 +2875,12 @@

                                   type: boolean
                                 procMount:
                                   description: |-
                                     procMount denotes the type of proc mount to use for the containers.
                                     The default value is Default which uses the container runtime defaults for
                                     readonly paths and masked paths.
-                                    This requires the ProcMountType feature flag to be enabled.
                                     Note that this field cannot be set when spec.os.name is windows.
                                   type: string
                                 readOnlyRootFilesystem:
                                   description: |-
                                     Whether this container has a read-only root filesystem.
                                     Default is false.
@@ -4446,13 +4445,12 @@

                                   type: boolean
                                 procMount:
                                   description: |-
                                     procMount denotes the type of proc mount to use for the containers.
                                     The default value is Default which uses the container runtime defaults for
                                     readonly paths and masked paths.
-                                    This requires the ProcMountType feature flag to be enabled.
                                     Note that this field cannot be set when spec.os.name is windows.
                                   type: string
                                 readOnlyRootFilesystem:
                                   description: |-
                                     Whether this container has a read-only root filesystem.
                                     Default is false.
@@ -4930,13 +4928,12 @@

                           If set to true or not present, the pod will be run in the host user namespace, useful
                           for when the pod needs a feature only available to the host user namespace, such as
                           loading a kernel module with CAP_SYS_MODULE.
                           When set to false, a new userns is created for the pod. Setting false is useful for
                           mitigating container breakout vulnerabilities even allowing users to run their
                           containers as root without actually having root privileges on the host.
-                          This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.
                         type: boolean
                       hostname:
                         description: |-
                           Specifies the hostname of the Pod
                           If not specified, the pod's hostname will be set to a system-defined value.
                         type: string
@@ -6100,13 +6097,12 @@

                                   type: boolean
                                 procMount:
                                   description: |-
                                     procMount denotes the type of proc mount to use for the containers.
                                     The default value is Default which uses the container runtime defaults for
                                     readonly paths and masked paths.
-                                    This requires the ProcMountType feature flag to be enabled.
                                     Note that this field cannot be set when spec.os.name is windows.
                                   type: string
                                 readOnlyRootFilesystem:
                                   description: |-
                                     Whether this container has a read-only root filesystem.
                                     Default is false.
@@ -6669,12 +6665,20 @@

                             PodResourceClaim references exactly one ResourceClaim, either directly
                             or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim
                             for the pod.
 
                             It adds a name to it that uniquely identifies the ResourceClaim inside the Pod.
                             Containers that need access to the ResourceClaim reference it with this name.
+
+                            When the DRAWorkloadResourceClaims feature gate is enabled and this Pod
+                            belongs to a PodGroup, a PodResourceClaim is matched to a
+                            PodGroupResourceClaim if all of their fields are equal (Name,
+                            ResourceClaimName, and ResourceClaimTemplateName). A matched claim references
+                            a single ResourceClaim shared across all Pods in the PodGroup, reserved for
+                            the PodGroup in ResourceClaimStatus.ReservedFor rather than for individual
+                            Pods.
                           properties:
                             name:
                               description: |-
                                 Name uniquely identifies this resource claim inside the pod.
                                 This must be a DNS_LABEL.
                               type: string
@@ -6693,12 +6697,22 @@

 
                                 The template will be used to create a new ResourceClaim, which will
                                 be bound to this pod. When this pod is deleted, the ResourceClaim
                                 will also be deleted. The pod name and resource name, along with a
                                 generated component, will be used to form a unique name for the
                                 ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
+
+                                When the DRAWorkloadResourceClaims feature gate is enabled and the pod
+                                belongs to a PodGroup that defines a PodGroupResourceClaim with the same
+                                Name and ResourceClaimTemplateName, this PodResourceClaim resolves to the
+                                ResourceClaim generated for the PodGroup. All pods in the group that
+                                define an equivalent PodResourceClaim matching the
+                                PodGroupResourceClaim's Name and ResourceClaimTemplateName share the same
+                                generated ResourceClaim. ResourceClaims generated for a PodGroup are
+                                owned by the PodGroup and their lifecycles are tied to the PodGroup
+                                instead of any individual pod.
 
                                 This field is immutable and no changes will be made to the
                                 corresponding ResourceClaim by the control plane after creating the
                                 ResourceClaim.
 
                                 Exactly one of ResourceClaimName and ResourceClaimTemplateName must
@@ -6819,12 +6833,34 @@

                           - name
                           type: object
                         type: array
                         x-kubernetes-list-map-keys:
                         - name
                         x-kubernetes-list-type: map
+                      schedulingGroup:
+                        description: |-
+                          SchedulingGroup provides a reference to the immediate scheduling runtime
+                          grouping object that this Pod belongs to.
+                          This field is used by the scheduler to identify the group and apply the
+                          correct group scheduling policies. The association with a group also
+                          impacts other lifecycle aspects of a Pod that are relevant in a wider context
+                          of scheduling like preemption, resource attachment, etc. If not specified,
+                          the Pod is treated as a single unit in all of these aspects.
+                          The group object referenced by this field may not exist at the time the
+                          Pod is created.
+                          This field is immutable, but a group object with the same name may be
+                          recreated with different policies. Doing this during pod scheduling
+                          may result in the placement not conforming to the expected policies.
+                        properties:
+                          podGroupName:
+                            description: |-
+                              PodGroupName specifies the name of the standalone PodGroup object
+                              that represents the runtime instance of this group.
+                              Must be a DNS subdomain.
+                            type: string
+                        type: object
                       securityContext:
                         description: |-
                           SecurityContext holds pod-level security attributes and common container settings.
                           Optional: Defaults to empty.  See type description for default values of each field.
                         properties:
                           appArmorProfile:
@@ -8247,13 +8283,13 @@

                                 - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
 
                                 The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation.
[Diff truncated by flux-local]
--- HelmRelease: operators/cloudnative-pg Deployment: operators/cloudnative-pg

+++ HelmRelease: operators/cloudnative-pg Deployment: operators/cloudnative-pg

@@ -14,14 +14,14 @@

     matchLabels:
       app.kubernetes.io/name: cloudnative-pg
       app.kubernetes.io/instance: cloudnative-pg
   template:
     metadata:
       annotations:
-        checksum/rbac: 6c7321a8c07d6a27e8ea208202acf166e4f32514a20df4db65c933cb40df6711
-        checksum/monitoring-config: f873a0c169d70f7ee62f0a96aed7686db6d7c57aa78a4d1bc33b1f86c0a6a0cb
+        checksum/rbac: a2bc7f270f82f536e2ad0688f7e1544619e1b00fd5572097f5e76442a85645e7
+        checksum/monitoring-config: 6b268dfd0cfce0955dbb5deea0ceb8f78809e7e9005bb361eb878f58b8ba0e5f
       labels:
         app.kubernetes.io/name: cloudnative-pg
         app.kubernetes.io/instance: cloudnative-pg
     spec:
       containers:
       - args:
@@ -31,20 +31,20 @@

         - --config-map-name=cnpg-controller-manager-config
         - --webhook-port=9443
         command:
         - /manager
         env:
         - name: OPERATOR_IMAGE_NAME
-          value: ghcr.io/cloudnative-pg/cloudnative-pg:1.29.0
+          value: ghcr.io/cloudnative-pg/cloudnative-pg:1.29.1
         - name: OPERATOR_NAMESPACE
           valueFrom:
             fieldRef:
               fieldPath: metadata.namespace
         - name: MONITORING_QUERIES_CONFIGMAP
           value: cnpg-default-monitoring
-        image: ghcr.io/cloudnative-pg/cloudnative-pg:1.29.0
+        image: ghcr.io/cloudnative-pg/cloudnative-pg:1.29.1
         imagePullPolicy: IfNotPresent
         livenessProbe:
           httpGet:
             path: /readyz
             port: webhook-server
             scheme: HTTPS

@renovate
renovate Bot merged commit 38125ae into main May 19, 2026
17 checks passed
@renovate
renovate Bot deleted the renovate/cloudnative-pg-0.x branch May 19, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant